package com.sls.web.manager.game.service;

import com.sls.web.manager.game.pojo.EnLinkProduct;
import com.sls.web.manager.game.pojo.EnLinkProductAreaServer;
import com.sls.web.manager.game.querybean.EnLinkProductAreaServerQuery;
import com.sls.web.manager.game.querybean.EnLinkProductQuery;
import com.sls.web.manager.page.Pagination;
import com.sls.web.manager.pojo.UserInfoVO;

/**
 * 恩联产品管理
 * 
 * @author cx
 * 
 */
public interface EnLinkProductService {

	/**
	 * 保存产品信息
	 * 
	 * @param product
	 * @param userInfoVO
	 * @throws Exception
	 */
	public void save(EnLinkProduct product, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 详情查询
	 * 
	 * @param body
	 * @param head
	 * @return
	 * @throws Exception
	 */
	public EnLinkProduct queryByProductId(String productId,
			UserInfoVO userInfoVO) throws Exception;

	/**
	 * 修改信息
	 * 
	 * @param body
	 * @param head
	 * @throws Exception
	 */
	public void update(EnLinkProduct product, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 保存区服信息
	 * 
	 * @param areaServer
	 * @param userInfoVO
	 * @throws Exception
	 */
	public void saveAreaServer(EnLinkProductAreaServer areaServer,
			UserInfoVO userInfoVO) throws Exception;

	/**
	 * 分页查询
	 * 
	 * @param enlinkQuery
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public Pagination<EnLinkProduct> queryEnLinkProduct(
			EnLinkProductQuery enlinkQuery, UserInfoVO userInfoVO)
			throws Exception;

	/**
	 * 区服分页查询
	 * 
	 * @param enlinkQuery
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public Pagination<EnLinkProductAreaServer> queryEnLinkProductAreaServer(
			EnLinkProductAreaServerQuery enlinkAreaServerQuery,
			UserInfoVO userInfoVO) throws Exception;

	/**
	 * 确认审核
	 * 
	 * @param nutsNetId
	 * @param userInfoVO
	 * @return
	 * @throws Exception
	 */
	public boolean confirmAudit(String suppliersId, int priceRatio,
			UserInfoVO userInfoVO) throws Exception;

	/**
	 * 批量上架
	 * 
	 * @param goodsState
	 * @param userInfoVO
	 */
	public void batchOnline(String goodsState, UserInfoVO userInfoVO);

	/**
	 * 批量下架
	 * 
	 * @param goodsState
	 * @param userInfoVO
	 */
	public void batchOffline(String goodsState, UserInfoVO userInfoVO);

	/**
	 * 清空区服表
	 * 
	 * @param userInfoVO
	 */
	public void deleteAreaServer(UserInfoVO userInfoVO);

}
